package com.base.web.model.master.auth;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

@Table(name = "logs")
public class Log {
    /**
     * id
     */
    @Id
    private Long id;

    /**
     * 操作人
     */
    private String user;

    /**
     * 请求路径
     */
    private String url;

    /**
     * 请求方式（GET/POST ......）
     */
    private String method;

    /**
     * 请求ip
     */
    private String ip;

    /**
     * 接受请求的类方法
     */
    @Column(name = "class_method")
    private String classMethod;

    /**
     * 请求参数
     */
    private String args;

    /**
     * 请求时间
     */
    @Column(name = "request_time")
    private Date requestTime;

    /**
     * 异常信息
     */
    private String exception;

    /**
     * 返回值
     */
    private String response;

    /**
     * 请求耗时
     */
    @Column(name = "spend_time")
    private Integer spendTime;

    public Log() {
    }

    /**
     * 获取id
     *
     * @return id - id
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置id
     *
     * @param id id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取操作人
     *
     * @return user - 操作人
     */
    public String getUser() {
        return user;
    }

    /**
     * 设置操作人
     *
     * @param user 操作人
     */
    public void setUser(String user) {
        this.user = user == null ? null : user.trim();
    }

    /**
     * 获取请求路径
     *
     * @return url - 请求路径
     */
    public String getUrl() {
        return url;
    }

    /**
     * 设置请求路径
     *
     * @param url 请求路径
     */
    public void setUrl(String url) {
        this.url = url == null ? null : url.trim();
    }

    /**
     * 获取请求方式（GET/POST ......）
     *
     * @return method - 请求方式（GET/POST ......）
     */
    public String getMethod() {
        return method;
    }

    /**
     * 设置请求方式（GET/POST ......）
     *
     * @param method 请求方式（GET/POST ......）
     */
    public void setMethod(String method) {
        this.method = method == null ? null : method.trim();
    }

    /**
     * 获取请求ip
     *
     * @return ip - 请求ip
     */
    public String getIp() {
        return ip;
    }

    /**
     * 设置请求ip
     *
     * @param ip 请求ip
     */
    public void setIp(String ip) {
        this.ip = ip == null ? null : ip.trim();
    }

    /**
     * 获取接受请求的类方法
     *
     * @return class_method - 接受请求的类方法
     */
    public String getClassMethod() {
        return classMethod;
    }

    /**
     * 设置接受请求的类方法
     *
     * @param classMethod 接受请求的类方法
     */
    public void setClassMethod(String classMethod) {
        this.classMethod = classMethod == null ? null : classMethod.trim();
    }

    /**
     * 获取请求参数
     *
     * @return args - 请求参数
     */
    public String getArgs() {
        return args;
    }

    /**
     * 设置请求参数
     *
     * @param args 请求参数
     */
    public void setArgs(String args) {
        this.args = args == null ? null : args.trim();
    }

    /**
     * 获取请求时间
     *
     * @return request_time - 请求时间
     */
    public Date getRequestTime() {
        return requestTime;
    }

    /**
     * 设置请求时间
     *
     * @param requestTime 请求时间
     */
    public void setRequestTime(Date requestTime) {
        this.requestTime = requestTime;
    }

    /**
     * 获取异常信息
     *
     * @return exception - 异常信息
     */
    public String getException() {
        return exception;
    }

    /**
     * 设置异常信息
     *
     * @param exception 异常信息
     */
    public void setException(String exception) {
        this.exception = exception == null ? null : exception.trim();
    }

    /**
     * 获取返回值
     *
     * @return response - 返回值
     */
    public String getResponse() {
        return response;
    }

    /**
     * 设置返回值
     *
     * @param response 返回值
     */
    public void setResponse(String response) {
        this.response = response == null ? null : response.trim();
    }

    /**
     * 获取请求耗时
     *
     * @return spend_time - 请求耗时
     */
    public Integer getSpendTime() {
        return spendTime;
    }

    /**
     * 设置请求耗时
     *
     * @param spendTime 请求耗时
     */
    public void setSpendTime(Integer spendTime) {
        this.spendTime = spendTime;
    }
}